// Generated from /home/suemi/Workspace/faker/faker-common/src/main/resources/Mql.g4 by ANTLR 4.7
package org.ucas.faker.web.utils.mql.parse;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link MqlParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface MqlVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link MqlParser#query}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuery(MqlParser.QueryContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#select}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelect(MqlParser.SelectContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#where}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWhere(MqlParser.WhereContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#from}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFrom(MqlParser.FromContext ctx);
	/**
	 * Visit a parse tree produced by the {@code parCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParCond(MqlParser.ParCondContext ctx);
	/**
	 * Visit a parse tree produced by the {@code orCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOrCond(MqlParser.OrCondContext ctx);
	/**
	 * Visit a parse tree produced by the {@code containsCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitContainsCond(MqlParser.ContainsCondContext ctx);
	/**
	 * Visit a parse tree produced by the {@code andCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAndCond(MqlParser.AndCondContext ctx);
	/**
	 * Visit a parse tree produced by the {@code notCond}
	 * labeled alternative in {@link MqlParser#cond}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNotCond(MqlParser.NotCondContext ctx);
	/**
	 * Visit a parse tree produced by the {@code parWordExpr}
	 * labeled alternative in {@link MqlParser#wordExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParWordExpr(MqlParser.ParWordExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code atomWordExpr}
	 * labeled alternative in {@link MqlParser#wordExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAtomWordExpr(MqlParser.AtomWordExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code andWordExpr}
	 * labeled alternative in {@link MqlParser#wordExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAndWordExpr(MqlParser.AndWordExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code notWordExpr}
	 * labeled alternative in {@link MqlParser#wordExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNotWordExpr(MqlParser.NotWordExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code orWordExpr}
	 * labeled alternative in {@link MqlParser#wordExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOrWordExpr(MqlParser.OrWordExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code andFieldExpr}
	 * labeled alternative in {@link MqlParser#fieldExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAndFieldExpr(MqlParser.AndFieldExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code notFieldExpr}
	 * labeled alternative in {@link MqlParser#fieldExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNotFieldExpr(MqlParser.NotFieldExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code idFieldExpr}
	 * labeled alternative in {@link MqlParser#fieldExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIdFieldExpr(MqlParser.IdFieldExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code parFieldExpr}
	 * labeled alternative in {@link MqlParser#fieldExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParFieldExpr(MqlParser.ParFieldExprContext ctx);
	/**
	 * Visit a parse tree produced by the {@code orFieldExpr}
	 * labeled alternative in {@link MqlParser#fieldExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOrFieldExpr(MqlParser.OrFieldExprContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#orderby}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOrderby(MqlParser.OrderbyContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#orderbyList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOrderbyList(MqlParser.OrderbyListContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#limit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLimit(MqlParser.LimitContext ctx);
	/**
	 * Visit a parse tree produced by {@link MqlParser#fieldList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFieldList(MqlParser.FieldListContext ctx);
}